package com.axend.lib_room.entity

import android.os.Parcelable
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.Ignore
import androidx.room.PrimaryKey
import com.axend.lib_service.Constant
import kotlinx.parcelize.Parcelize

/**
 * @description宠物数据实体类
 * @author admins
 * @time 2024/6/11 14:08
 */
@Parcelize
@Entity(tableName = Constant.TABLE_PET_LIST)
data class PetInfoEntity(
    @PrimaryKey(autoGenerate = true)
    var id: Int,
    var petNickName: String,
    /**
     * 物种
     */
    var species: Int,
    /**
     * 物种值用于模糊查询
     */
    var speciesValue: String,
    /**
     * 品种
     */
    var breed: String,
    var masterName: String,
    var sex: Int,
    var age: Float,
    var birthday: String,
    var weight: Float,
    /**
     * 心率上限阈值
     */
    var heartAlarmLimit: Float?=null,
    /**
     * 心率下限阈值
     */
    var heartAlarmLower: Float?=null,
    /**
     * 呼吸上限阈值
     */
    var breathAlarmLimit: Float?=null,
    /**
     * 呼吸下限阈值
     */
    var breathAlarmLower: Float?=null,
    /**
     * 温度单位
     */
    var temperatureUnit: Int,
    /**
     * 重量单位
     */
    var weightUnit: Int,
    /**
     * 心率警告上限阈值
     */
    var heartWarningLimit: Float?=null,
    /**
     * 心率警告下限阈值
     */
    var heartWarningLower: Float?=null,
    /**
     * 呼吸警告上限阈值
     */
    var breathWarningLimit: Float?=null,
    /**
     * 呼吸警告下限阈值
     */
    var breathWarningLower: Float?=null,
    /**
     * 温度上限阈值
     */
    var tempAlarmLimit: Float?=null,
    /**
     * 温度下限阈值
     */
   var tempAlarmLower: Float?=null,
    /**
     * 温度警告上限阈值
     */
    var tempWarningLimit: Float?=null,
    /**
     * 温度警告下限阈值
     */
    var tempWarningLower: Float?=null,
    /**
     * 温度校准值
     */
    var tempCalibration: Float = 0f,
    /**
     * 报警开关设置 0打开 1关闭
     */
    var alarmSetting: Int = 0,
    /**
     * 脸部移动报警开关 0打开 1关闭
     */
    var faceMoveAlarmSetting: Int = 0,
    /**
     * 长度单位
     */
    var lengthUnit: Int = 0,
    /**
     * 长度单位str
     */
    var lengthUnitStr: String = "",
    /**
     * 模式设置
     */
    @Ignore
    var showSelect:Boolean = false,

    @Ignore
    var isSelect: Boolean = false
) : Parcelable {
    constructor() : this(
        0, "", 0, "","", "", 0,
        0f,"", 0f, 0f,0f,0f,
        0f,0,0,0f,0f,0f,0f,0f,0f,0f,0f
    )
}
